/*
File: IGameState.h
Author: Zachary Murray
Purpose: Interface for game states
*/

#pragma once
class IGameState
{
public:
	//Destructor
	virtual ~IGameState() = default;

	//Interface
	virtual void Enter() = 0; //Load resources
	virtual void Exit() = 0; // unload resources

	virtual bool Input() = 0; //handle user input
	virtual void Update(float elapsedTime) = 0; //update entities
	virtual void Render() = 0; //render entities/menu
};

